import Vue from 'vue';
import VueRouter from 'vue-router';

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    redirect: '/login'
  },
  {
    path: '/login',
    component: () => import('../components/Login')
  },
  {
    path: '/home',
    component: () => import('../components/Home'),
    redirect: '/welcome',
    children: [
      {
        path: '/welcome',
        component: () => import('../components/Welcome')
      },
      {
        path: '/users',
        component: () => import('../components/user/Users')
      },
      {
        path: '/roles',
        component: () => import('../components/power/Roles')
      },
      {
        path: '/rights',
        component: () => import('../components/power/Rights')
      },
      {
        path: '/categories', 
        component: () => import('../components/goods/GoodsCategories')
      },
      {
        path: '/params',
        component: () => import('../components/goods/GoodsParams')
      },
      {
        path: '/goods',
        component: () => import('../components/goods/GoodsList')
      },
      {
        path: '/goods/add',
        component: () => import('../components/goods/Add')
      },
      {
        path: '/orders',
        component: () => import('../components/order/Order')
      },
      {
        path: '/reports',
        component: () => import('../components/report/Report')
      }
    ]
  }
]

const router = new VueRouter({
  // mode: 'history',
  routes
})

//挂载路由导航守卫
router.beforeEach((to, from, next) => {
  if(to.path === '/login') {
    return next();
  }
  const tokenStr = window.sessionStorage.getItem('token');
  if(!tokenStr) {
    return next('/login');
  }else {
    next();
  }
})

export default router
